- NAME
-
- gcloud sql instances create - creates a new Cloud SQL instance
- SYNOPSIS
-
-
gcloud sql instances createINSTANCE[--activation-policy=ACTIVATION_POLICY] [--active-directory-domain=ACTIVE_DIRECTORY_DOMAIN] [--[no-]assign-ip] [--async] [--audit-bucket-path=AUDIT_BUCKET_PATH] [--audit-retention-interval=AUDIT_RETENTION_INTERVAL] [--audit-upload-interval=AUDIT_UPLOAD_INTERVAL] [--authorized-networks=NETWORK,[NETWORK,…]] [--availability-type=AVAILABILITY_TYPE] [--no-backup] [--backup-location=BACKUP_LOCATION] [--backup-start-time=BACKUP_START_TIME] [--collation=COLLATION] [--connector-enforcement=CONNECTOR_ENFORCEMENT] [--cpu=CPU] [--database-flags=FLAG=VALUE,[FLAG=VALUE,…]] [--database-version=DATABASE_VERSION; default="MYSQL_8_0"] [--[no-]deletion-protection] [--deny-maintenance-period-end-date=DENY_MAINTENANCE_PERIOD_END_DATE] [--deny-maintenance-period-start-date=DENY_MAINTENANCE_PERIOD_START_DATE] [--deny-maintenance-period-time=DENY_MAINTENANCE_PERIOD_TIME] [--enable-bin-log] [--enable-google-private-path] [--enable-password-policy] [--enable-point-in-time-recovery] [--failover-replica-name=FAILOVER_REPLICA_NAME] [--[no-]insights-config-query-insights-enabled] [--insights-config-query-plans-per-minute=INSIGHTS_CONFIG_QUERY_PLANS_PER_MINUTE] [--insights-config-query-string-length=INSIGHTS_CONFIG_QUERY_STRING_LENGTH] [--[no-]insights-config-record-application-tags] [--[no-]insights-config-record-client-address] [--maintenance-release-channel=MAINTENANCE_RELEASE_CHANNEL] [--maintenance-window-day=MAINTENANCE_WINDOW_DAY] [--maintenance-window-hour=MAINTENANCE_WINDOW_HOUR] [--master-instance-name=MASTER_INSTANCE_NAME] [--memory=MEMORY] [--network=NETWORK] [--password-policy-complexity=PASSWORD_POLICY_COMPLEXITY] [--[no-]password-policy-disallow-username-substring] [--password-policy-min-length=PASSWORD_POLICY_MIN_LENGTH] [--password-policy-password-change-interval=PASSWORD_POLICY_PASSWORD_CHANGE_INTERVAL] [--password-policy-reuse-interval=PASSWORD_POLICY_REUSE_INTERVAL] [--replica-type=REPLICA_TYPE] [--replication=REPLICATION] [--require-ssl] [--retained-backups-count=RETAINED_BACKUPS_COUNT] [--retained-transaction-log-days=RETAINED_TRANSACTION_LOG_DAYS] [--root-password=ROOT_PASSWORD] [--[no-]storage-auto-increase] [--storage-size=STORAGE_SIZE] [--storage-type=STORAGE_TYPE] [--tier=TIER,-tTIER] [--time-zone=TIME_ZONE] [--timeout=TIMEOUT; default=3600] [--disk-encryption-key=DISK_ENCRYPTION_KEY:--disk-encryption-key-keyring=DISK_ENCRYPTION_KEY_KEYRING--disk-encryption-key-location=DISK_ENCRYPTION_KEY_LOCATION--disk-encryption-key-project=DISK_ENCRYPTION_KEY_PROJECT] [--region=REGION; default="us-central" |--gce-zone=GCE_ZONE|--secondary-zone=SECONDARY_ZONE--zone=ZONE] [GCLOUD_WIDE_FLAG …]
-
- DESCRIPTION
- Creates a new Cloud SQL instance.
- EXAMPLES
-
To create a MySQL 5.7 instance with ID
that has 2 CPUs, 4 GB of RAM, and is in the regionprod-instance(a zone will be auto-assigned), where the 'root' user has its password set tous-central1, run:password123gcloud sql instances create prod-instance --database-version=MYSQL_5_7 --cpu=2 --memory=4GB --region=us-central1 --root-password=password123To create a Postgres 9.6 instance with ID
that has 2 CPUs, 8 GiB of RAM, and is in the zoneprod-instance, where the 'postgres' user has its password set tous-central1-a, run:password123gcloud sql instances create prod-instance --database-version=POSTGRES_9_6 --cpu=2 --memory=8GiB --zone=us-central1-a --root-password=password123To create a SQL Server 2017 Express instance with ID
that has 2 CPUs, 3840MiB of RAM, and is in the zoneprod-instance, where the 'sqlserver' user has its password set tous-central1-a, run:password123gcloud sql instances create prod-instance --database-version=SQLSERVER_2017_EXPRESS --cpu=2 --memory=3840MiB --zone=us-central1-a --root-password=password123 - POSITIONAL ARGUMENTS
-
INSTANCE- Cloud SQL instance ID.
- FLAGS
-
--activation-policy=ACTIVATION_POLICY-
Activation policy for this instance. This specifies when the instance should be
activated and is applicable only when the instance state is
RUNNABLE. The default ison-demand. More information on activation policies can be found here: https://cloud.google.com/sql/docs/mysql/start-stop-restart-instance#activation_policy.ACTIVATION_POLICYmust be one of:always,never,on-demand. --active-directory-domain=ACTIVE_DIRECTORY_DOMAIN- Managed Service for Microsoft Active Directory domain this instance is joined to. Only available for SQL Server instances.
--[no-]assign-ip-
Assign a public IP address to the instance. This is a public, externally
available IPv4 address that you can use to connect to your instance when
properly authorized. Use
--assign-ipto enable and--no-assign-ipto disable. --async- Return immediately, without waiting for the operation in progress to complete.
--audit-bucket-path=AUDIT_BUCKET_PATH- The location, as a Cloud Storage bucket, to which audit files are uploaded. The URI is in the form gs://bucketName/folderName. Only available for SQL Server instances.
--audit-retention-interval=AUDIT_RETENTION_INTERVAL- The number of days for audit log retention on disk, for example, 3dfor 3 days. Only available for SQL Server instances.
--audit-upload-interval=AUDIT_UPLOAD_INTERVAL- How often to upload audit logs (audit files), for example, 30mfor 30 minutes. Only available for SQL Server instances.
- The list of external networks that are allowed to connect to the instance. Specified in CIDR notation, also known as 'slash' notation (e.g. 192.168.100.0/24).
--availability-type=AVAILABILITY_TYPE-
Specifies level of availability.
AVAILABILITY_TYPEmust be one of:regional- Provides high availability and is recommended for production instances; instance automatically fails over to another zone within your selected region.
zonal- Provides no failover capability. This is the default.
--backup-
Enables daily backup. Enabled by default, use
--no-backupto disable. --backup-location=BACKUP_LOCATION- Choose where to store your backups. Backups are stored in the closest multi-region location to you by default. Only customize if needed.
--backup-start-time=BACKUP_START_TIME- Start time of daily backups, specified in the HH:MM format, in the UTC timezone.
--collation=COLLATION- Cloud SQL server-level collation setting, which specifies the set of rules for comparing characters in a character set.
--connector-enforcement=CONNECTOR_ENFORCEMENT-
Cloud SQL Connector enforcement mode. It determines how Cloud SQL Connectors are
used in the connection. See the list of modes here.
CONNECTOR_ENFORCEMENTmust be one of:CONNECTOR_ENFORCEMENT_UNSPECIFIED- The requirement for Cloud SQL connectors is unknown.
NOT_REQUIRED- Does not require Cloud SQL connectors.
REQUIRED- Requires all connections to use Cloud SQL connectors, including the Cloud SQL Auth Proxy and Cloud SQL Java, Python, and Go connectors. Note: This disables all existing authorized networks.
--cpu=CPU- Whole number value indicating how many cores are desired in the machine. Both --cpu and --memory must be specified if a custom machine type is desired, and the --tier flag must be omitted.
--database-flags=FLAG=VALUE,[FLAG=VALUE,…]-
Comma-separated list of database flags to set on the instance. Use an equals
sign to separate flag name and value. Flags without values, like
skip_grant_tables, can be written out without a value after, e.g.,
skip_grant_tables=. Use on/off for booleans. View the Instance Resource API for allowed flags. (e.g.,--database-flags max_allowed_packet=55555,skip_grant_tables=,log_output=1) --database-version=DATABASE_VERSION; default="MYSQL_8_0"-
The database engine type and versions. If left unspecified, MYSQL_8_0 is used.
See the list of database versions at https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/SqlDatabaseVersion.
Apart from listed major versions, DATABASE_VERSION also accepts supported minor
versions.
DATABASE_VERSIONmust be one of:MYSQL_5_6,MYSQL_5_7,MYSQL_8_0,POSTGRES_9_6,POSTGRES_10,POSTGRES_11,POSTGRES_12,POSTGRES_13,POSTGRES_14,SQLSERVER_2017_EXPRESS,SQLSERVER_2017_WEB,SQLSERVER_2017_STANDARD,SQLSERVER_2017_ENTERPRISE,SQLSERVER_2019_EXPRESS,SQLSERVER_2019_WEB,SQLSERVER_2019_STANDARD,SQLSERVER_2019_ENTERPRISE. --[no-]deletion-protection-
Enable deletion protection on a Cloud SQL instance. Use
--deletion-protectionto enable and--no-deletion-protectionto disable. --deny-maintenance-period-end-date=DENY_MAINTENANCE_PERIOD_END_DATE-
Date when the deny maintenance period ends, that is
.2021-01-10 --deny-maintenance-period-start-date=DENY_MAINTENANCE_PERIOD_START_DATE-
Date when the deny maintenance period begins, that is
.2020-11-01 --deny-maintenance-period-time=DENY_MAINTENANCE_PERIOD_TIME-
Time when the deny maintenance period starts or ends, that is
.05:00:00 --enable-bin-log- Allows for data recovery from a specific point in time, down to a fraction of a second. Must have automatic backups enabled to use. Make sure storage can support at least 7 days of logs.
--enable-google-private-path- Enable a private path for Google Cloud services. This flag specifies whether the instance is accessible to internal Google Cloud services such as BigQuery. This is only applicable to MySQL and PostgreSQL instances that don't use public IP. Currently, SQL Server isn't supported.
--enable-password-policy- Enable the password policy, which enforces user password management with the policies configured for the instance. This flag is only available for Postgres.
--enable-point-in-time-recovery- Allows for data recovery from a specific point in time, down to a fraction of a second, via write-ahead logs. Must have automatic backups enabled to use. Make sure storage can support at least 7 days of logs.
--failover-replica-name=FAILOVER_REPLICA_NAME- Also create a failover replica with the specified name.
--[no-]insights-config-query-insights-enabled-
Enable query insights feature to provide query and query plan analytics.
Use
--insights-config-query-insights-enabledto enable and--no-insights-config-query-insights-enabledto disable. --insights-config-query-plans-per-minute=INSIGHTS_CONFIG_QUERY_PLANS_PER_MINUTE- Number of query plans to sample every minute. Default value is 5. Allowed range: 0 to 20.
--insights-config-query-string-length=INSIGHTS_CONFIG_QUERY_STRING_LENGTH- Query string length in bytes to be stored by the query insights feature. Default length is 1024 bytes. Allowed range: 256 to 4500 bytes.
-
Allow application tags to be recorded by the query insights feature.
Use
--insights-config-record-application-tagsto enable and--no-insights-config-record-application-tagsto disable. --[no-]insights-config-record-client-address-
Allow the client address to be recorded by the query insights feature.
Use
--insights-config-record-client-addressto enable and--no-insights-config-record-client-addressto disable. --maintenance-release-channel=MAINTENANCE_RELEASE_CHANNEL-
Which channel's updates to apply during the maintenance window. If not
specified, Cloud SQL chooses the timing of updates to your instance.
MAINTENANCE_RELEASE_CHANNELmust be one of:preview- Preview updates release prior to production updates. You may wish to use the preview channel for dev/test applications so that you can preview their compatibility with your application prior to the production release.
production- Production updates are stable and recommended for applications in production.
--maintenance-window-day=MAINTENANCE_WINDOW_DAY-
Day of week for maintenance window, in UTC time zone.
MAINTENANCE_WINDOW_DAYmust be one of:SUN,MON,TUE,WED,THU,FRI,SAT. --maintenance-window-hour=MAINTENANCE_WINDOW_HOUR- Hour of day for maintenance window, in UTC time zone.
--master-instance-name=MASTER_INSTANCE_NAME- Name of the instance which will act as master in the replication setup. The newly created instance will be a read replica of the specified master instance.
--memory=MEMORY- Whole number value indicating how much memory is desired in the machine. A size unit should be provided (eg. 3072MiB or 9GiB) - if no units are specified, GiB is assumed. Both --cpu and --memory must be specified if a custom machine type is desired, and the --tier flag must be omitted.
--network=NETWORK-
Network in the current project that the instance will be part of. To specify
using a network with a shared VPC, use the full URL of the network. For an
example host project, 'testproject', and shared network, 'testsharednetwork',
this would use the form:
--network=projects/testproject/global/networks/testsharednetwork --password-policy-complexity=PASSWORD_POLICY_COMPLEXITY-
The complexity of the password. This flag is available only for PostgreSQL.
PASSWORD_POLICY_COMPLEXITYmust be one of:COMPLEXITY_DEFAULT- A combination of lowercase, uppercase, numeric, and non-alphanumeric characters.
COMPLEXITY_UNSPECIFIED- The default value if COMPLEXITY_DEFAULT is not specified. It implies that complexity check is not enabled.
--[no-]password-policy-disallow-username-substring-
Disallow username as a part of the password. Use
--password-policy-disallow-username-substringto enable and--no-password-policy-disallow-username-substringto disable. --password-policy-min-length=PASSWORD_POLICY_MIN_LENGTH- Minimum number of characters allowed in the password.
--password-policy-password-change-interval=PASSWORD_POLICY_PASSWORD_CHANGE_INTERVAL- Minimum interval after which the password can be changed, for example, 2m for 2 minutes. See <a href="/sdk/gcloud/reference/topic/datetimes"> $ gcloud topic datetimes</a> for information on duration formats. This flag is available only for PostgreSQL.
--password-policy-reuse-interval=PASSWORD_POLICY_REUSE_INTERVAL- Number of previous passwords that cannot be reused. The valid range is 0 to 100.
--replica-type=REPLICA_TYPE-
The type of replica to create.
REPLICA_TYPEmust be one of:READ,FAILOVER. --replication=REPLICATION-
Type of replication this instance uses. The default is synchronous.
REPLICATIONmust be one of:synchronous,asynchronous. --require-ssl- Specified if users connecting over IP must use SSL.
--retained-backups-count=RETAINED_BACKUPS_COUNT- How many backups to keep. The valid range is between 1 and 365. The default value is 7 if not specified. Applicable only if --no-backups is not specified.
--retained-transaction-log-days=RETAINED_TRANSACTION_LOG_DAYS- How many days of transaction logs to keep. The valid range is between 1 and 7. The default value is 7 if not specified. Only valid when point in time recovery is enabled. Keeping more days of transaction logs requires bigger storage size
--root-password=ROOT_PASSWORD- Root Cloud SQL user's password.
--[no-]storage-auto-increase-
Storage size can be increased, but it cannot be decreased; storage increases are
permanent for the life of the instance. With this setting enabled, a spike in
storage requirements can result in permanently increased storage costs for your
instance. However, if an instance runs out of available space, it can result in
the instance going offline, dropping existing connections. This setting is
enabled by default. Use
--storage-auto-increaseto enable and--no-storage-auto-increaseto disable. --storage-size=STORAGE_SIZE- Amount of storage allocated to the instance. Must be an integer number of GB. The default is 10GB. Information on storage limits can be found here: https://cloud.google.com/sql/docs/quotas#storage_limits
--storage-type=STORAGE_TYPE-
The storage type for the instance. The default is SSD.
STORAGE_TYPEmust be one of:SSD,HDD. --tier=TIER,-tTIER-
Machine type for a shared-core instance e.g.
. For all other instances, instead of using tiers, customize your instance by specifying its CPU and memory. You can do so with thedb-g1-small--cpuand--memoryflags. Learn more about how CPU and memory affects pricing: https://cloud.google.com/sql/pricing. --time-zone=TIME_ZONE- Set a non-default time zone. Only available for SQL Server instances.
--timeout=TIMEOUT; default=3600-
Time to synchronously wait for the operation to complete, after which the
operation continues asynchronously. Ignored if --async flag is specified. By
default, set to 3600s. To wait indefinitely, set to
unlimited. -
Key resource - The Cloud KMS (Key Management Service) cryptokey that will be
used to protect the instance. The 'Compute Engine Service Agent' service account
must hold permission 'Cloud KMS CryptoKey Encrypter/Decrypter'. The arguments in
this group can be used to specify the attributes of this resource.
--disk-encryption-key=DISK_ENCRYPTION_KEY-
ID of the key or fully qualified identifier for the key. To set the
kms-keyattribute:-
provide the argument
--disk-encryption-keyon the command line.
This flag argument must be specified if any of the other arguments in this group are specified.
-
provide the argument
--disk-encryption-key-keyring=DISK_ENCRYPTION_KEY_KEYRING-
The KMS keyring of the key. To set the
kms-keyringattribute:-
provide the argument
--disk-encryption-keyon the command line with a fully specified name; -
provide the argument
--disk-encryption-key-keyringon the command line.
-
provide the argument
--disk-encryption-key-location=DISK_ENCRYPTION_KEY_LOCATION-
The Google Cloud location for the key. To set the
kms-locationattribute:-
provide the argument
--disk-encryption-keyon the command line with a fully specified name; -
provide the argument
--disk-encryption-key-locationon the command line.
-
provide the argument
--disk-encryption-key-project=DISK_ENCRYPTION_KEY_PROJECT-
The Google Cloud project for the key. To set the
kms-projectattribute:-
provide the argument
--disk-encryption-keyon the command line with a fully specified name; -
provide the argument
--disk-encryption-key-projecton the command line; -
set the property
core/project.
-
provide the argument
-
At most one of these can be specified:
--region=REGION; default="us-central"- Regional location (e.g. asia-east1, us-east1). See the full list of regions at https://cloud.google.com/sql/docs/instance-locations.
-
At most one of these can be specified:
--gce-zone=GCE_ZONE-
(DEPRECATED) Preferred Compute Engine zone (e.g. us-central1-a, us-central1-b,
etc.).
Flag
--gce-zoneis deprecated and will be removed by release 255.0.0. Use--zoneinstead. --secondary-zone=SECONDARY_ZONE- Preferred secondary Compute Engine zone (e.g. us-central1-a, us-central1-b, etc.).
--zone=ZONE- Preferred Compute Engine zone (e.g. us-central1-a, us-central1-b, etc.).
- GCLOUD WIDE FLAGS
-
These flags are available to all commands:
--access-token-file,--account,--billing-project,--configuration,--flags-file,--flatten,--format,--help,--impersonate-service-account,--log-http,--project,--quiet,--trace-token,--user-output-enabled,--verbosity.Run
$ gcloud helpfor details. - NOTES
-
These variants are also available:
gcloud alpha sql instances creategcloud beta sql instances create
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2023-02-14 UTC.
[{
"type": "thumb-down",
"id": "hardToUnderstand",
"label":"Hard to understand"
},{
"type": "thumb-down",
"id": "incorrectInformationOrSampleCode",
"label":"Incorrect information or sample code"
},{
"type": "thumb-down",
"id": "missingTheInformationSamplesINeed",
"label":"Missing the information/samples I need"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Other"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Easy to understand"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Solved my problem"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Other"
}]